/* clock */

function show_date() {
  clk_date = new Date();
  if (clk_date.getSeconds() == 0) { // a cada minuto
    clk_intvl = clk_date.getTime() - clk_start;
  }  
  str = clk_date.toLocaleString();
  wE(pegaElemento('userdate'),str);
  setTimeout("show_date()",1000);
}

function start_clock() {
  clk_date = new Date();
  clk_start = clk_date.getTime();
  show_date();
  setTimeout("show_date()",1000);
}

function pegaElemento(id) {
  return document.getElementById(id);
}

function wE(e,s) {
  if (e) {
    e.innerHTML = s;
  }
}

//********************************************************************* fim clock
function Limpar(valor, validos) { 
// retira caracteres invalidos da string 
var result = ""; 
var aux; 
for (var i=0; i < valor.length; i++) { 
aux = validos.indexOf(valor.substring(i, i+1)); 
if (aux>=0) { 
result += aux; 
} 
} 
return result; 
} 

//Formata n�mero tipo moeda usando o evento onKeyDown 
function Formata(campo,tammax,teclapres,decimal) { 
var tecla = teclapres.keyCode; 
vr = Limpar(campo.value,"0123456789"); 
tam = vr.length; 
dec=decimal ;

if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; } 

if (tecla == 8 ) 
{ tam = tam - 1 ; } 

if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) 
{ 

if ( tam <= dec ) 
{ campo.value = vr ; } 

if ( (tam > dec) && (tam <= 5) ){ 
campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; } 
if ( (tam >= 6) && (tam <= 8) ){ 
campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; 
} 
if ( (tam >= 9) && (tam <= 11) ){ 
campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; } 
if ( (tam >= 12) && (tam <= 14) ){ 
campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; } 
if ( (tam >= 15) && (tam <= 17) ){ 
campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;} 
} 

} 


//FORMATA A DATA

	function formatar(src, mask) {
		var i = src.value.length;
		var saida = mask.substring(i,i+1);
		var ascii = event.keyCode;
		if (saida == "A") {
			if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }
			else { event.keyCode = 0; }
		} else if (saida == "0") {
			if ((ascii >= 48) && (ascii <= 57)) { return }
			else { event.keyCode = 0 }
		} else if (saida == "#") {
			return;
		} else {
			src.value += saida;
			i += 1
			saida = mask.substring(i,i+1);
			if (saida == "A") {
				if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }
				else { event.keyCode = 0; }
			} else if (saida == "0") {
				if ((ascii >= 48) && (ascii <= 57)) { return }
				else { event.keyCode = 0 }
			} else { return; }
		}
	}

// FORMATA CEP e CPF
function BoxFormat(objForm, strField, strfull, sMask) {
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      sValue = strfull;

      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
          sCod += sMask.charAt(i);
          mskLen++; }
        else {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      objForm[strField].value = sCod;

      if (nTecla != 8) { // backspace
        if (sMask.charAt(i-1) == "9") { // apenas n�meros...
          return ((nTecla > 47) && (nTecla < 58)); } // n�meros de 0 a 9
        else { // qualquer caracter...
          return true;
        } }
      else {
        return true;
      }
}
    


function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      if(document.all) {
        nTecla = evtKeyPress.keyCode; }
      else if(document.layers) {
        nTecla = evtKeyPress.which;
      }

      sValue = objForm[strField].value;

      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
          sCod += sMask.charAt(i);
          mskLen++; }
        else {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      objForm[strField].value = sCod;

      if (nTecla != 8) { // backspace
        if (sMask.charAt(i-1) == "9") { // apenas n�meros...
          return ((nTecla > 47) && (nTecla < 58)); } // n�meros de 0 a 9
        else { // qualquer caracter...
          return true;
        } }
      else {
        return true;
      }
}


// COLOCA AS LETRAS EM CAIXA ALTA
   function TextBoxCaixaAlta_OnKeyUp(fsValor, foForm, foNome) { 
	if (window.event.keyCode >= 65 && window.event.keyCode <= 90){
		x = new String(document.forms[foForm].elements[foNome].value);
		document.forms[foForm].elements[foNome].value = x.toUpperCase();
	}
   }

   function TextBoxCaixaAlta_OnBlur(fsValor, foForm, foNome){ 	
	var tam=0;
	x = new String(document.forms[foForm].elements[foNome].value);
	while (tam != x.length){
		tam = x.length;
		x = x.replace('\'', '');
	}
	document.forms[foForm].elements[foNome].value = x.toUpperCase();
   }

function TextBoxCPF_OnKeyUp(fsValor, foForm, foNome) { 
   var piLoop; 
   var psPalavra=''; 
   var psResposta='';  
   if (window.event.keyCode == 8){
      if (isNaN(fsValor.charAt(fsValor.length-1)) == true){
         document.forms[foForm].elements[foNome].value = fsValor.substring(0, (fsValor.length-1));
      }
   }
   else if (
	window.event.keyCode != 9  && 
	window.event.keyCode != 16 && 
	window.event.keyCode != 36 && 
	window.event.keyCode != 37 && 
	window.event.keyCode != 39){ 
		for(piLoop=0; piLoop <= (fsValor.length-1); piLoop++) { 
			if (fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9') {
				psPalavra = psPalavra + fsValor.charAt(piLoop); 
			} 
		}
		for(piLoop=0; piLoop <= (psPalavra.length-1); piLoop++) { 
			if (piLoop == 2 || piLoop == 5){
				psResposta = psResposta + psPalavra.charAt(piLoop) + '.'; 
			}
			else if (piLoop == 8){
				psResposta = psResposta + psPalavra.charAt(piLoop) + '-'; 
			}
			else {
				psResposta = psResposta + psPalavra.charAt(piLoop);  
			}
		}  
   	document.forms[foForm].elements[foNome].value = psResposta.substring(0, 14);  
   }
   } 

/**
 *
 * function mask(_mask, val)
 *
 * _mask = Mascara Exemplo: ##/##/#### ou ###.###.###-##
 * val   = Valor a ser formatado.
 *
 * Formata um valor  para a mascara definida.
 */
function mask(_mask, val) {
	var i, mki;
	var aux="";
	
	for(i=mki=0; i<val.length; i++, mki++) {
		if(_mask.charAt(mki)=='' || _mask.charAt(mki)=='#' || _mask.charAt(i)==val.charAt(i)) {
			aux+=val.charAt(i);
		} else {
			aux+=_mask.charAt(mki)+val.charAt(i);
			mki++;
		}
	}
	return aux;
}

/**
 * function maskEvent(field, _mask, event)
 *
 * field = Objeto que esta enviando o evendo onKeyPress()
 * _mask = Mascara Exemplo: ##/##/#### ou ###.###.###-##
 * event = Evento a ser observado.
 *
 * Formata um valor para a mascara definida conforma o valor vai sendo digitado.
 *
 */
function maskEvent(field, _mask, event) {
	var key ='';
	var aux='';
	var len=0;
	var i=0;
	var strCheck = '0123456789';
	var rcode = (window.Event) ? event.which : event.keyCode;
	
	if(rcode == 13) {
		//Enter
		return true;
	}
	
	//Get key value from key code
	key=String.fromCharCode(rcode);
	
	if(strCheck.indexOf(key)==-1) {
		//Not a valid key
		return false;
	}
	
	aux=field.value+key;
	//window.alert(aux);
	aux=mask(_mask,aux);
	//window.alert(aux);
	field.value=aux;	
	return false;
}

/**
 *
 * function currencyFormat(fld, milSep, decSep, e)
 *
 * fld    = Objeto a ser verficado.
 * milSep = Separador para milhar.
 * decSep = Separador para decimal.
 * e      = Evento.
 *
 * Formata um valor decimal conforme for digitado no box.
  */
function currencyFormat(fld, milSep, decSep, e) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;

	if (whichCode == 13) {
		return true;  // Enter
	}
	key = String.fromCharCode(whichCode);  // Get key value from key code
	if (strCheck.indexOf(key) == -1) {
		return false;  // Not a valid key
	}
	len = fld.value.length;
	for(i = 0; i < len; i++) {
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)){
			 break;
		}
	}
	
	aux = '';
	for(; i < len; i++) {
		if (strCheck.indexOf(fld.value.charAt(i))!=-1){
			aux += fld.value.charAt(i);
		}
	}
	aux += key;
			
	len = aux.length;
	if (len == 0) {
		fld.value = '';
	} else if (len == 1) {
		fld.value = '0'+ decSep + '0' + aux;
	} else if (len == 2) {
		fld.value = '0'+ decSep + aux;
	} else if (len > 2) {
		aux2 = '';

		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += milSep;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		fld.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--) {
			fld.value += aux2.charAt(i);
		}
		
		fld.value += decSep + aux.substr(len - 2, len);
	}
	return false;
}  

function TextBoxCaixaAlta_OnKeyUp(fsValor, foForm, foNome)
{ 
	if (window.event.keyCode >= 65 && window.event.keyCode <= 90)
	{
		x = new String(document.forms[foForm].elements[foNome].value);
		document.forms[foForm].elements[foNome].value = x.toUpperCase();
	}
}

function TextBoxCaixaAlta_OnBlur(fsValor, foForm, foNome)
{ 	
	var tam=0;
	x = new String(document.forms[foForm].elements[foNome].value);
	while (tam != x.length)
	{
		tam = x.length;
		x = x.replace('\'', '');
	}
	document.forms[foForm].elements[foNome].value = x.toUpperCase();
}


function TextBoxCPF_OnKeyUp(fsValor, foForm, foNome)
{ 
   var piLoop; 
   var psPalavra=''; 
   var psResposta='';  
   if (window.event.keyCode == 8)
   {
      if (isNaN(fsValor.charAt(fsValor.length-1)) == true)
	  {
         document.forms[foForm].elements[foNome].value = fsValor.substring(0, (fsValor.length-1));
      }
   }
   else if (window.event.keyCode != 9  && 
			window.event.keyCode != 16 && 
			window.event.keyCode != 36 && 
			window.event.keyCode != 37 && 
			window.event.keyCode != 39)
   		{ 
			for(piLoop=0; piLoop <= (fsValor.length-1); piLoop++)
			{ 
				if (fsValor.charAt(piLoop) >= '0' && fsValor.charAt(piLoop) <= '9')
				{
					psPalavra = psPalavra + fsValor.charAt(piLoop); 
				} 
			}
			
			for(piLoop=0; piLoop <= (psPalavra.length-1); piLoop++)
			{ 
				if (piLoop == 2 || piLoop == 5)
				{
					psResposta = psResposta + psPalavra.charAt(piLoop) + '.'; 
				}else if (piLoop == 8)
					{
						psResposta = psResposta + psPalavra.charAt(piLoop) + '-'; 
					}else
						{
							psResposta = psResposta + psPalavra.charAt(piLoop);  
						}
			}  
			
			document.forms[foForm].elements[foNome].value = psResposta.substring(0, 14);  
   		}
}

function verifica_CPF(cpf) {

          //     cpf = document.validacao.cpfID.value;
        var cpf2=document.getElementById(cpf);
   		  var cpf = document.getElementById(cpf).value; 
			  erro = new String;
               if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";
               var nonNumbers = /\D/;
               if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
               if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
                       erro += "Numero de CPF invalido!";
               }
              var a = [];
              var b = new Number;
              var c = 11;
              for (i=0; i<11; i++){
                   a[i] = cpf.charAt(i);
                    if (i < 9) b += (a[i] * --c);
              }
              if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
              b = 0;
              c = 11;
              for (y=0; y<10; y++) b += (a[y] * c--);
              if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
              if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
                      erro +="Numero de CPF invalido!";
              }
              if (erro.length > 0){
                      alert(erro);  
                      cpf2.focus();
                      return false;
                        
              }
              return true;
      }
 function stoptab()
{
  vetab=false;
}

function checktab()
{
  vetab=true;
}

vetab=true;
 
function Troca(oque, maximo)
{
  if ( (oque.value.length == maximo) && (vetab) )
  {
    var i=0,j=0;

    for (i=0; i<=document.forms[0].elements.length; i++)
    {
      if (document.forms[0].elements[i].name == oque.name)
      {
        while ( (document.forms[0].elements[(i+1)].type == "hidden") && (i < document.forms[indice].elements.length) )
        {
          i++;
        }
        document.forms[0].elements[(i+1)].focus();
        vetab=false;
        break;
      }
    }
  }
}
 

/*
 PickList II script (aka Menu Swapper)- By Phil Webb (http://www.philwebb.com)
   Visit JavaScript Kit (http://www.javascriptkit.com) for this JavaScript and 100s more
*/
//Move valores entre duas listas. Com dois arrays. Utiliza sort nos dois.
function move_lista(lista_origem, lista_destino)
{
	var arrorigem = new Array();
	var arrdestino = new Array();
	var valor = 0;
	var texto = '';
	var i;
	var j;
	
	j = 0;	
	for(var i=0;i<lista_origem.options.length;i++)
	{
		if(lista_origem.options[i].selected)
		{
			texto = lista_origem.options[i].text;
			valor = lista_origem.options[i].value;
		}else
			{
				arrorigem[j] = new Array(2);
				arrorigem[j][0] = lista_origem.options[i].text;
				arrorigem[j][1] = lista_origem.options[i].value;
				j = ++j;
			} 
	}	

	for(var i=0;i<lista_destino.options.length;i++)
	{
		arrdestino[i] = new Array(2);
		arrdestino[i][0] = lista_destino.options[i].text;
		arrdestino[i][1] = lista_destino.options[i].value; 
	}
	i = ++i;	
	arrdestino[i] = new Array(2);
	arrdestino[i][0] = texto;
	arrdestino[i][1] = valor; 

	arrorigem.sort();
    arrdestino.sort();
    lista_origem.length = 0;
    lista_destino.length = 0;

    for(i=0; i<arrorigem.length; i++)
    {
		var nova_opcao = new Option(arrorigem[i][0], arrorigem[i][1]);
		lista_origem[i] = nova_opcao;
	}

    for(i=0; i<arrdestino.length; i++)
    {
		var nova_opcao = new Option(arrdestino[i][0], arrdestino[i][1]);
		lista_destino[i] = nova_opcao;
	}
}


//Move valores entre duas listas. Com um array. Utiliza sort.
//Baseia-se que ja temos os dois arrays ordenados. Ent�o so precisamos ordenar a lista de destino
function move_lista2(lista_origem, lista_destino, tipomov)
{
	var arrdestino = new Array();
	var arrmov = new Array();
	var i;
	var j;
	
	if (lista_destino.options[0].value == -1)
		lista_destino.length = 0;
	
	if (lista_origem.selectedIndex < 0)
	{
		alert('Selecione algum item da lista!');
		return false;
	}
	
	if (tipomov = 'S')
	{
		arrdestino[0] = new Array(2);
		arrdestino[0][0] = lista_origem.options[lista_origem.selectedIndex].text;
		arrdestino[0][1] = lista_origem.options[lista_origem.selectedIndex].value;
		lista_origem.options[lista_origem.selectedIndex]=null;
		j = 1;
	}else if (tipomov = 'T')
		{
			for(var i=0;i<lista_origem.options.length;i++)
			{
				arrdestino[i] = new Array(2);
				arrdestino[i][0] = lista_origem.options[i].text;
				arrdestino[i][1] = lista_origem.options[i].value; 
			}
			j = i;
			lista_origem.length = 0;
		}
	
	for(var i=0;i<lista_destino.options.length;i++)
	{
		arrdestino[i+j] = new Array(2);
		arrdestino[i+j][0] = lista_destino.options[i].text;
		arrdestino[i+j][1] = lista_destino.options[i].value; 
	}
	
    arrdestino.sort();
    lista_destino.length = 0;

    for(i=0; i<arrdestino.length; i++)
    {
		var nova_opcao = new Option(arrdestino[i][0], arrdestino[i][1]);
		lista_destino[i] = nova_opcao;
	}
}

function selectAll(box) {
     for(var i=0; i<box.length; i++) {
     box[i].selected = true;
     }
}

function doDate(pStr)
{
	//var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
	//var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
	//var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
	var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
	//var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	var reDate = reDate4;

	//eval("reDate = reDate" + pFmt);
	if (reDate.test(pStr))
	{
		return true;
	} else if (pStr != null && pStr != "")
	{
		return false
	}
}



/*
 Padawan's JavaScript-Mega-Validator 3000+
 Todos os direitos reservados para Diego Pires Plentz
 Voc� pode usar esse c�digo nas suas p�ginas desde que mantenha os cr�ditos ;-)
 */
 
 //Verifica qual o browser do visitante e armazena na vari�vel p�bica clientNavigator,
 //Caso Internet Explorer(IE) outros (Other)
 if (navigator.appName.indexOf('Microsoft') != -1){
 	clientNavigator = "IE";
 }else{
 	clientNavigator = "Other";
 }
 function Verifica_Data(data, obrigatorio){
 //Se o par�metro obrigat�rio for igual � zero, significa que elepode estar vazio, caso contr�rio, n�o
  //var data = document.getElementById(data);
 	var strdata = data;//data.value;
 	if((obrigatorio == 1) || (obrigatorio == 0 && strdata != "")){
 		//Verifica a quantidade de digitos informada esta correta.
 		if (strdata.length != 10){
 			alert("Formato da data n�o � v�lido. Formato correto: - dd/mm/aaaa.");
 			//data.focus();
 			return false
 		}
 		//Verifica m�scara da data
 		if ("/" != strdata.substr(2,1) || "/" != strdata.substr(5,1)){
 			alert("Formato da data n�o � v�lido. Formato correto: - dd/mm/aaaa.");
 			//data.focus();
 			return false
 		}
 		dia = strdata.substr(0,2)
 		mes = strdata.substr(3,2);
 		ano = strdata.substr(6,4);
 		//Verifica o dia
 		if (isNaN(dia) || dia > 31 || dia < 1){
 			alert("Formato do dia n�o � v�lido.");
 			//data.focus();
 			return false
 		}
 		if (mes == 4 || mes == 6 || mes == 9 || mes == 11){
 			if (dia == "31"){
 				alert("O m�s informado n�o possui 31 dias.");
 				//data.focus();
 				return false
 			}
 		}
 		if (mes == "02"){
 			bissexto = ano % 4;
 			if (bissexto == 0){
 				if (dia > 29){
 					alert("O m�s informado possui somente 29 dias.");
 					//data.focus();
 					return false
 				}
 			}else{
 				if (dia > 28){
 					alert("O m�s informado possui somente 28 dias.");
 					//data.focus();
 					return false
 				}
 			}
 		}
 		//Verifica o m�s
 		if (isNaN(mes) || mes > 12 || mes < 1){
 			alert("Formato do m�s n�o � v�lido.");
 			//data.focus();
 			return false
 		}
 		//Verifica o ano
 		if (isNaN(ano)){
 			alert("Formato do ano n�o � v�lido.");
 			//data.focus();
 			return false
 		}
 	}
 	return true;
 }
 
 function Compara_Datas(data_inicial, data_final){
 	//Verifica se a data inicial � maior que a data final
// 	var data_inicial = document.getElementById(data_inicial);
// 	var data_final   = document.getElementById(data_final);
 	str_data_inicial = data_inicial.value;
 	str_data_final   = data_final.value;
 	dia_inicial      = data_inicial.value.substr(0,2);
 	dia_final        = data_final.value.substr(0,2);
 	mes_inicial      = data_inicial.value.substr(3,2);
 	mes_final        = data_final.value.substr(3,2);
 	ano_inicial      = data_inicial.value.substr(6,4);
 	ano_final        = data_final.value.substr(6,4);
 	if(ano_inicial > ano_final){
 		alert("A data inicial deve ser menor que a data final."); 
 		data_inicial.focus();
 		return false
 	}else{
  	if(ano_inicial == ano_final)
  	{
	   	if(mes_inicial > mes_final)
	   	{
	    	alert("A data inicial deve ser menor que a data final.");
	 				data_final.focus();
	 				return false
	 			}else{
	 				if(mes_inicial == mes_final)
	 				{
	 					if(dia_inicial > dia_final)
	 					{
	 						alert("A data inicial deve ser menor que a data final.");
	 						data_final.focus();
	 						return false
	 					}
	 				}
	 			}
	 		}
 	}
 	return true;
 }
 
 function Verifica_Hora(hora, obrigatorio){
 //Se o par�metro obrigat�rio for igual � zero, significa que elepode estar vazio, caso contr�rio, n�o
 	var hora = document.getElementById(hora);
 	if((obrigatorio == 1) || (obrigatorio == 0 && hora.value != "")){
 		if(hora.value.length < 5){
 			alert("Formato da hora inv�lido. Por favor, informe a hora no formato correto: hh:mm");
 			hora.focus();
 			return false
 		}
 		if(hora.value.substr(0,2) > 23 || isNaN(hora.value.substr(0,2))){
 			alert("Formato da hora inv�lido.");
 			hora.focus();
 			return false
 		}
 		if(hora.value.substr(3,2) > 59 || isNaN(hora.value.substr(3,2))){
 			alert("Formato do minuto inv�lido.");
 			hora.focus();
 			return false
 		}
 	}
 }
 
 function Verifica_Email(email, obrigatorio){
 //Se o parametro obrigatorio for igual a zero, significa que ele pode estar vazio, caso contrario, nao
 	var email = document.getElementById(email);
 	if((obrigatorio == 1) || (obrigatorio == 0 && email.value != "")){
 		if(!email.value.match(/^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/)){
 			alert("Informe um e-mail válido");
 			email.focus();
 			return false
 		}
 	}
 }

 function Verifica_Tamanho(campo, tamanho){
 //usado para campos textarea onde n�o se tem o atributo maxlenght
 	var campo = document.getElementById(campo);
 	if(campo.value.length > tamanho){
 		alert("O campo suporta no máximo " + tamanho + " caracteres.");
 		campo.focus();
 		return false
 	}
 }
 
 function Verifica_Cep(cep, obrigatorio){
 //Se o par�metro obrigat�rio for igual � zero, significa que elepode estar vazio, caso contr�rio, n�o
 	var cep    = document.getElementById(cep);
 	var strcep = cep.value;
 	if((obrigatorio == 1) || (obrigatorio == 0 && strcep != "")){
 		if (strcep.length != 9){
 			alert("CEP informado inv�lido.");
 			cep.focus();
 			return false
 		}else{
 			if (strcep.indexOf("-") != 5){
 				alert("Formato de CEP informado inv�lido.");
 				cep.focus();
 				return false
 			}else{
 				if (isNaN(strcep.replace("-","0"))){
 					alert("CEP informado inv�lido.");
 					cep.focus();
 					return false
 				}
 			}
 		}
 	}	  
 }
 
 function Bloqueia_Caracteres(evnt){
 //Fun��o permite digita��o de n�meros
 	if (clientNavigator == "IE"){
 		if (evnt.keyCode < 48 || evnt.keyCode > 57){
 			return false
 		}
 	}else{
 		if ((evnt.charCode < 48 || evnt.charCode > 57) && evnt.keyCode == 0){
 			return false
 		}
 	}
 }
 
 function Ajusta_Data(input, evnt){
 //Ajusta m�scara de Data e s� permite digita��o de n�meros
 	if (input.value.length == 2 || input.value.length == 5){
 		if(clientNavigator == "IE"){
 			input.value += "/";
 		}else{
 			if(evnt.keyCode == 0){
 				input.value += "/";
 			}
 		}
 	}
 //Chama a fun��o Bloqueia_Caracteres para s� permitir a digita��o de n�meros
 	return Bloqueia_Caracteres(evnt);
 }
 
 function Ajusta_Hora(input, evnt){
 //Ajusta m�scara de Hora e s� permite digita��o de n�meros
 	if (input.value.length == 2){
 		if(clientNavigator == "IE"){
 			input.value += ":";
 		}else{
 			if(evnt.keyCode == 0){
 				input.value += ":";
 			}
 		}
 	}
 //Chama a fun��o Bloqueia_Caracteres para s� permitir a digita��o de n�meros
 	return Bloqueia_Caracteres(evnt);
 }
 
 function Ajusta_Cep(input, evnt){
 //Ajusta m�scara de CEP e s� permite digita��o de n�meros
 	if (input.value.length == 5){
 		if(clientNavigator == "IE"){
 			input.value += "-";
 		}else{
 			if(evnt.keyCode == 0){
 				input.value += "-";
 			}
 		}
 	}
 //Chama a fun��o Bloqueia_Caracteres para s� permitir a digita��o de n�meros
 	return Bloqueia_Caracteres(evnt);
 }
 
 function Atualiza_Opener(){
 //Atualiza a p�gina opener da popup que chamar a fun��o
 	window.opener.location.reload();
 }
 
//EXEMPLOS
//<input name="data" type="text" id="data" maxlength="10" onKeypress="return Ajusta_Data(this, event);"> 
// <input name="hora" type="text" id="hora" maxlength="5" onKeypress="return Ajusta_Hora(this, event);"> 
// <input name="cep" type="text" id="cep" maxlength="9" onKeypress="return Ajusta_Cep(this, event);">
// <input name="numero" type="text" id="numero" maxlength="20" onKeypress="return Bloqueia_Caracteres(event);"> 
 

 function ShowHelp(obj,field,hide){
	//Get help object
	var helpObj;
	if (document.all){
	helpObj = document.all[field+"_help"];}
	else if (document.getElementById){
		helpObj = document.getElementById(field+"_help");}
	if (helpObj) {
		//if help object is shown, hide it ; if object hidden, show it
		if (hide){
		  helpObj.style.display = "none";}
		else{
		  helpObj.style.display = "";}

		//Get location of mouseover object, move help object to the left if will display off-screen
		var divWidth = 340;
		var offsetLeft = getOffsetLeft(obj);
		var screenWidth = (window.innerWidth) ? window.innerWidth - 25 : document.body.clientWidth;
		if ((offsetLeft + divWidth) > screenWidth) offsetLeft = screenWidth - divWidth;
		newX = offsetLeft;
	
		//Get location of mouseover object, move help object on top if will display off-screen
		var divHeight = helpObj.offsetHeight;
		var offsetTop = getOffsetTop(obj) + obj.offsetHeight;
		var screenHeight = (window.innerHeight) ? window.innerHeight - 25 : document.body.clientHeight;
		if ((offsetTop + divHeight) > screenHeight + getScrollY()) offsetTop = getOffsetTop(obj) - divHeight;
		newY = offsetTop;	
	
		helpObj.style.top = newY;
		helpObj.style.left = newX;

		if (!hide){
		  qh_hideElement("select",helpObj);  
		  qh_hideElement("object",helpObj);  
		  qh_hideElement("embed",helpObj);  }
		else{
		  qh_showElement("select");  
		  qh_showElement("object");  
		  qh_showElement("embed");}
	}
}
//Exemplo <span id="vat_source" style="cursor:hand" onmouseover="ShowHelp(this,'vat_help',false)" onmouseout="ShowHelp(this,'vat_help',true)"><img src="https://imagesak.secureserver.net/aaa/help/1/icn_quickhelp.gif" border="0" width="13" height="13" align="absmiddle" hspace="4"></span>

/*		<div id="vat_help" style="width:340px;display:none;position:absolute">
		<table border="0" bgcolor="#ffffcd" style="border:1px solid #000000;padding:6px 12px 6px 12px;" cellpadding="0" cellspacing="0">
		  <tr>
		    <td class="subText">The Value-Added Tax ID is used in the European Union for taxation purposes. The ID is a two-letter country code followed by 5-12 characters. These characters are numbers in most countries, though some IDs also contain letters.</td>
		  </tr>
		</table></div>
*/


function openPopUpCentroScroll(url, vwidth, vheight){
	//pega a resolu��o do visitante
	w = screen.width;
	h = screen.height;
	
	//divide a resolu��o por 2, obtendo o centro do monitor
	meio_w = w/2;
	meio_h = h/2;

	//diminui o valor da metade da resolu��o pelo tamanho da janela, fazendo com q ela fique centralizada
	altura2 = vheight/2;
	largura2 = vwidth/2;
	meio1 = meio_h-altura2;
	meio2 = meio_w-largura2;
	
	window.open(url,'','resizable = yes ,status=yes,toolbar=no,menubar=no,width=' + vwidth + ',height=' + vheight + ',top=' + meio1 + ',left=' + meio2 + ',scrollbars=yes');
}

function keyExec(e, tc, func){
	var keyID = (window.event) ? event.keyCode : e.keyCode;
	switch (tc){
		case 'enter':
			tccode = 13;
			break;
		/*pode se adicionar outras teclas aqui */
	}
	if(keyID == tccode){
		eval(func);
	return true;
	}else{
		return false;
	}
}

function mudaFundo(id,cor){
	objLinha = document.getElementById(id);
	objLinha.style.backgroundColor = cor;
	
}


 function enviaForm(pagina){
	 var valorDigitado =  document.getElementById('valor').value;
 	 var criterio = document.getElementById('criterio').value;
	
  	var url = pagina+".php?valor="+valorDigitado+"&criterio="+criterio;
 	  document.location.href= url;	

 }
 
//------------------------------------------------------------
function paginacao(pagina,nPagina){
	var valorDigitado =  document.getElementById('valor').value;
 	var criterio = document.getElementById('criterio').value;

 	var url = pagina+"?valor="+valorDigitado+"&pagina="+nPagina+"&criterio="+criterio;
 	//alert (url);
 	 document.location.href= url;	
}


